$().ready( function() {
    
    $("#ObraAdminEditDatosGeneralesForm").validate( {

        rules: {
            "data[Obra][obras_tipo_id]": {
                required: true
            },
            "data[Obra][codigo_identificacion]": {
                required: true,
                digits: true
            },
            "data[Obra][nombre]": {
                required: true,
                stringValid: true,
                rangelength: [3,100]
            },
            "data[Obra][provincia_id]": {
                required: true
            },
            "data[Obra][departamento_id]": {
                required: true
            },
            "data[Obra][localidade_id]": {
                required: true
            },
            "data[Obra][zona_id]": {
                required: true
            },
            "data[Obra][ruta_id]": {
                required: true
            },
            "data[Obra][ruta_tramo]": {
                required: true,
                stringValid: true,
                rangelength: [3,100]
            },
            "data[Obra][progresiva]": {
                required: true,
                progresivaValid: true,
                rangelength: [3,50]
            },
            "data[Obra][obstaculo_id]": {
                required: true
            },
            "data[Coordenada][x]": {
                required: true
            },
            "data[Coordenada][y]": {
                required: true
            },
            "data[Obra][cantidad_tramos]": {
                required: true,
                digits: true
            },
            "data[Obra][ancho_calzada]": {
                required: true,
                number: true
            },
            "data[Obra][carriles]": {
                required: true,
                digits: true
            },
            "data[Obra][sobrecarga_admisible]": {
                required: true,
                sobrecargaAdmisibleValid: true,
                rangelength: [1,30]
            },
            "data[Obra][tmda]": {
                digits: true
            },
            "data[MaterialesTipo][tipo]": {
                required: true
            },
            "data[MaterialesTipo][materiale_id]": {
                required: true
            },
            "data[Obra][tipos_estructurale_id]": {
                required: true
            },
            "data[Obra][clases_transito_id]": {
                required: true
            },
            "data[DatosConstruccione][responsable_proyecto]": {
                required: true,
                stringValid: true,
                rangelength: [3,100]
            },
            "data[DatosConstruccione][empresa_constructora]": {
                required: true,
                stringValid: true,
                rangelength: [3,100]
            },
            "data[DatosConstruccione][fecha_proyecto]": {
                required: true
            },
            "data[DatosConstruccione][fecha_inicio]": {
                required: true
            },
            "data[DatosConstruccione][fecha_fin]": {
                required: true
            },
            "data[DatosConstruccione][fecha_habilitacion]": {
                required: true
            }
        },

        messages: {
            "data[Obra][obras_tipo_id]": {
                required: "Seleccione el tipo de obra de arte."
            },
            "data[Obra][codigo_identificacion]": {
                required: "Ingrese un código de identificación.",
                digits: "El código de identificación debe contener sólo dígitos."
            },
            "data[Obra][nombre]": {
                required: "Ingrese un nombre.",
                stringValid: "El nombre debe ser alfanumérico, con una longitud mínima de 3 caracteres.",
                rangelength: "La longitud del nombre debe estar entre 3 y 100 caracteres."
            },
            "data[Obra][provincia_id]": {
                required: "Seleccione una provincia."
            },
            "data[Obra][departamento_id]": {
                required: "Seleccione un departamento."
            },
            "data[Obra][localidade_id]": {
                required: "Seleccione una localidad."
            },
            "data[Obra][zona_id]": {
                required: "Seleccione una zona."
            },
            "data[Obra][ruta_id]": {
                required: "Seleccione una ruta."
            },
            "data[Obra][ruta_tramo]": {
                required: "Ingrese el tramo de la ruta.",
                stringValid: "El tramo de la ruta debe ser alfanumérico, con una longitud mínima de 3 caracteres.",
                rangelength: "La longitud del tramo de la ruta debe estar entre 3 y 100 caracteres."
            },
            "data[Obra][progresiva]": {
                required: "Ingrese la progresiva.",
                progresivaValid: "La progresiva debe ser alfanumérica.",
                rangelength: "La longitud de la progresiva debe estar entre 3 y 50 caracteres."
            },
            "data[Obra][obstaculo_id]": {
                required: "Seleccione un obstáculo."
            },
            "data[Coordenada][x]": {
                required: "Ingrese la coordenada X del punto."
            },
            "data[Coordenada][y]": {
                required: "Ingrese la coordenada Y del punto."
            },
            "data[Obra][cantidad_tramos]": {
                required: "Ingrese la cantidad de tramos.",
                digits: "La cantidad de tramos debe contener sólo dígitos."
            },
            "data[Obra][ancho_calzada]": {
                required: "Ingrese el ancho de la calzada.",
                number: "El ancho de la calzada debe ser numérico."
            },
            "data[Obra][carriles]": {
                required: "Ingrese la cantidad de carriles.",
                digits: "La cantidad de carriles debe contener sólo dígitos."
            },
            "data[Obra][sobrecarga_admisible]": {
                required: "Ingrese la sobrecarga admisible.",
                sobrecargaAdmisibleValid: "La sobrecarga admisible debe ser alfanumérica.",
                rangelength: "La longitud de la sobrecarga admisible debe estar entre 1 y 30 caracteres."
            },
            "data[Obra][tmda]": {
                digits: "El TMDA debe contener sólo dígitos."
            },
            "data[MaterialesTipo][tipo]": {
                required: "Seleccione el tipo de material."
            },
            "data[MaterialesTipo][materiale_id]": {
                required: "Seleccione el material primario."
            },
            "data[Obra][tipos_estructurale_id]": {
                required: "Seleccione el tipo estructural."
            },
            "data[Obra][clases_transito_id]": {
                required: "Seleccione la clase de tránsito."
            },
            "data[DatosConstruccione][responsable_proyecto]": {
                required: "Ingrese el responsable del proyecto.",
                stringValid: "El nombre del responsable debe ser alfanumérico, con una longitud mínima de 3 caracteres.",
                rangelength: "La longitud del nombre del responsable debe estar entre 3 y 100 caracteres."
            },
            "data[DatosConstruccione][empresa_constructora]": {
                required: "Ingrese la empresa constructora.",
                stringValid: "El nombre de la empresa debe ser alfanumérico, con una longitud mínima de 3 caracteres.",
                rangelength: "La longitud del nombre de la empresa debe estar entre 3 y 100 caracteres."
            },
            "data[DatosConstruccione][fecha_proyecto]": {
                required: "Seleccione la fecha del proyecto."
            },
            "data[DatosConstruccione][fecha_inicio]": {
                required: "Seleccione la fecha de inicio."
            },
            "data[DatosConstruccione][fecha_fin]": {
                required: "Seleccione la fecha de fin."
            },
            "data[DatosConstruccione][fecha_habilitacion]": {
                required: "Seleccione la fecha de habilitación."
            }
        }

    } );
});